name="personInfo_uQLoLPmF" # 自定义组件英文名称

readonly name

# 判断当前电脑是什么操作系统
a=`uname  -a`
b="Darwin"


old_name="" # 旧的自定义组件英文名称，无需填写，自动生成
temp="_"

echo $name

Folder_A="./src/components/"
for file_a in ${Folder_A}/*; do
  temp_file=`basename $file_a`
  if [[ $temp_file =~ $temp ]]; then
    old_name=$temp_file
  fi
done

echo $old_name


# 修改自定义组件的文件夹名称
mv ./src/components/$old_name ./src/components/$name

if [[ $a =~ $b ]];then

# 用正则表达式匹配package.json中打包命令的旧的自定义组件英文名称old_name，
# 然后替换为新的自定义组件英文名称name
sed -i "" "s/vue-cli-service build --target lib --name $old_name src\/components\/$old_name\/lib.js/vue-cli-service build --target lib --name $name src\/components\/$name\/lib.js/" ./package.json
else

# 用正则表达式匹配package.json中打包命令的旧的自定义组件英文名称old_name，
# 然后替换为新的自定义组件英文名称name
sed -i "s/vue-cli-service build --target lib --name $old_name src\/components\/$old_name\/lib.js/vue-cli-service build --target lib --name $name src\/components\/$name\/lib.js/" ./package.json
fi

# 替换后打包
npm run build:custom

# 删除dist文件夹下所有文件，否则每一次执行dist目录下都会产生一个css和一个js文件
Folder_B="./public/dist/"
for file_a in ${Folder_B}/*; do
  rm -r $file_a
done

# 将生成的js复制到public下
cp ./dist/$name.umd.min.js ./public/dist/$name.umd.min.js

